feat(edge-proxy): Wire the flagsmith-private edge_control_plane app into the api - #8305
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 3 Skipped Deployments
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (4)
Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe change detects the optional Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~25 minutes Merge Risk: ⚪ Minimal · up to The optional Edge Proxy integration and API definitions have no verified merge-blocking issue in the available code. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8305 +/- ##
=======================================
Coverage 98.81% 98.81%
=======================================
Files 1620 1620
Lines 66185 66186 +1
=======================================
+ Hits 65400 65401 +1
Misses 785 785 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
42c4d60 to
eb468cc
Compare
Docker builds report
|
✅ private-cloud · depot-ubuntu-latest-16 — run #20483 (attempt 1)Playwright Test Results (private-cloud - depot-ubuntu-latest-16)Details
🗂️ Previous results✅ private-cloud · depot-ubuntu-latest-arm-16 — run #20483 (attempt 1)Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)Details
✅ oss · depot-ubuntu-latest-arm-16 — run #20484 (attempt 1)Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
✅ oss · depot-ubuntu-latest-arm-16 — run #20483 (attempt 1)Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
✅ oss · depot-ubuntu-latest-16 — run #20483 (attempt 1)Playwright Test Results (oss - depot-ubuntu-latest-16)Details
✅ oss · depot-ubuntu-latest-16 — run #20484 (attempt 1)Playwright Test Results (oss - depot-ubuntu-latest-16)Details
✅ private-cloud · depot-ubuntu-latest-16 — run #19945 (attempt 1)Playwright Test Results (private-cloud - depot-ubuntu-latest-16)Details
✅ private-cloud · depot-ubuntu-latest-arm-16 — run #19945 (attempt 1)Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)Details
✅ oss · depot-ubuntu-latest-arm-16 — run #19945 (attempt 1)Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
✅ oss · depot-ubuntu-latest-16 — run #19945 (attempt 1)Playwright Test Results (oss - depot-ubuntu-latest-16)Details
✅ private-cloud · depot-ubuntu-latest-arm-16 — run #19943 (attempt 1)Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)Details
✅ private-cloud · depot-ubuntu-latest-16 — run #19943 (attempt 1)Playwright Test Results (private-cloud - depot-ubuntu-latest-16)Details
|
247cfc9 to
4330617
Compare
Visual Regression19 screenshots compared. See report for details. |
Installs the app when the flagsmith-private wheel provides it, and mounts
its two URL trees outside SaaS: proxy key management under
organisations/{id}/edge-proxy/ and the proxy endpoints under api/v1/proxy/.
4330617 to
2b4b6f4
Compare
Thanks for submitting a PR! Please check the boxes below:
docs/if required so people know about the feature.Changes
Contributes to Flagsmith/edge-proxy#128
Wires up the
edge_control_planeprivate app (Flagsmith/flagsmith-private#265, renamed in #285, released inflagsmith-private0.14.0, whichmainalready locks via #8540). It provides the proxy key credential, the proxy config endpoint that lets a running Edge Proxy discover its environments, and the usage ingestion endpoint. Consumed by the proxy in Flagsmith/edge-proxy-rs#17, #18 and #19.Three edits, following the
rbac/scimpattern:EDGE_CONTROL_PLANE_INSTALLEDdetection and conditionalINSTALLED_APPSappend.organisations/{id}/edge-proxy/, andapi/v1/proxy/for the config and usage endpoints.Private cloud only: SaaS images ship the private wheel, so the mounts are gated on
is_saas()at runtime rather than on the app being absent; the app's own views carry a matching permission as defence in depth.How did you test this code?
With the 0.14.0 app installed:
EDGE_CONTROL_PLANE_INSTALLEDisTrue,edge_control_planeis inINSTALLED_APPS, and the three routes resolve (/api/v1/proxy/config/,/api/v1/proxy/usage/,/api/v1/organisations/1/edge-proxy/keys/). With aSAAS_DEPLOYMENTmarker file present they 404. The app's own behaviour is covered by the integration tests in flagsmith-private.